Skip to content

Msi affinity support qli2.0 - #1232

Open
abhi6246-OSS wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
abhi6246-OSS:msi_affinity_feature
Open

abhi6246-OSS wants to merge 4 commits into
qualcomm-linux:qcom-6.18.yfrom
abhi6246-OSS:msi_affinity_feature

Conversation

@abhi6246-OSS

Copy link
Copy Markdown

MSI Affinity Support for DWC PCIe (backport)

Summary

Backports the upstream interrupt redirection infrastructure and enables CPU affinity control for MSI interrupts on DesignWare (DWC) PCIe controllers. On DWC, MSIs are demultiplexed from a single parent interrupt whose affinity cannot be changed, so per-MSI affinity was previously unavailable. This series adds generic genirq support to redirect a child interrupt's handler to run in IRQ-work context on a CPU within its affinity mask, and wires the DWC host driver up to use it.

https://patch.msgid.link/20251128212055.1409093-2-rrendec@redhat.com

https://patch.msgid.link/20251128212055.1409093-3-rrendec@redhat.com

https://patch.msgid.link/20251128212055.1409093-4-rrendec@redhat.com

https://patch.msgid.link/20260112211402.2927336-1-rrendec@redhat.com

Files changed

drivers/pci/controller/dwc/pcie-designware-host.c | 127 +++++++-------
drivers/pci/controller/dwc/pcie-designware.h | 7 +-
include/linux/irq.h | 10 +
include/linux/irqdesc.h | 17 +-
kernel/irq/chip.c | 24 +-
kernel/irq/irqdesc.c | 86 +++++++-
kernel/irq/manage.c | 15 +-
7 files changed, 206 insertions(+), 80 deletions(-)

CRs-Fixed: 4637597

Add infrastructure to redirect interrupt handler execution to a
different CPU when the current CPU is not part of the interrupt's CPU
affinity mask.

This is primarily aimed at (de)multiplexed interrupts, where the child
interrupt handler runs in the context of the parent interrupt handler,
and therefore CPU affinity control for the child interrupt is typically
not available.

With the new infrastructure, the child interrupt is allowed to freely
change its affinity setting, independently of the parent. If the
interrupt handler happens to be triggered on an "incompatible" CPU (a
CPU that's not part of the child interrupt's affinity mask), the handler
is redirected and runs in IRQ work context on a "compatible" CPU.

No functional change is being made to any existing irqchip driver, and
irqchip drivers must be explicitly modified to use the newly added
infrastructure to support interrupt redirection.

Signed-off-by: Radu Rendec <rrendec@redhat.com>
Co-developed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251128212055.1409093-2-rrendec@redhat.com
(cherry picked from commit fcc1d0d)
Code cleanup with no functional changes. These changes were originally
made by Thomas Gleixner (see Link tag below) in a patch that was never
submitted as is. Other parts of that patch were eventually submitted as
commit 8e71711 ("PCI: dwc: Switch to msi_create_parent_irq_domain()")
and the remaining parts are the code cleanup changes:

    - Use guard()/scoped_guard() instead of open-coded lock/unlock.
    - Return void in a few functions whose return value is never used.
    - Simplify dw_handle_msi_irq() by using for_each_set_bit().

One notable deviation from the original patch is that it reverts back to a
simple 1 by 1 iteration over the controllers inside dw_handle_msi_irq.  The
reason is that with the original changes, the IRQ offset was calculated
incorrectly.

This prepares the ground for enabling MSI affinity support, which was
originally part of that same series that Thomas Gleixner prepared.

Signed-off-by: Radu Rendec <rrendec@redhat.com>
Co-developed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251128212055.1409093-3-rrendec@redhat.com
(cherry picked from commit f187509)
Leverage the interrupt redirection infrastructure to enable CPU affinity
support for MSI interrupts. Since the parent interrupt affinity cannot
be changed, affinity control for the child interrupt (MSI) is achieved
by redirecting the handler to run in IRQ work context on the target CPU.

This patch was originally prepared by Thomas Gleixner (see Link tag below)
in a patch series that was never submitted as is, and only parts of that
series have made it upstream so far.

Signed-off-by: Radu Rendec <rrendec@redhat.com>
Co-developed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251128212055.1409093-4-rrendec@redhat.com
(cherry picked from commit eaf290c)
For redirected interrupts, irq_chip_redirect_set_affinity() does not
update the effective affinity mask, which then triggers the warning in
irq_validate_effective_affinity(). Also, because the effective affinity
mask is empty, the cpumask_test_cpu(smp_processor_id(), m) condition in
demux_redirect_remote() is always false, and the interrupt is always
redirected, even if it's already running on the target CPU.

Set the effective affinity mask to be the same as the requested affinity
mask. It's worth noting that irq_do_set_affinity() filters out offline
CPUs before calling chip->irq_set_affinity() (unless `force` is set), so
the mask passed to irq_chip_redirect_set_affinity() is already filtered.

The solution is not ideal because it may lie about the effective
affinity of the demultiplexed ("child") interrupt. If the requested
affinity mask includes multiple CPUs, the effective affinity, in
reality, is the intersection between the requested mask and the
demultiplexing ("parent") interrupt's effective affinity mask, plus
the first CPU in the requested mask.

Accurately describing the effective affinity of the demultiplexed
interrupt is not trivial because it requires keeping track of the
demultiplexing interrupt's effective affinity. That is tricky in the
context of CPU hot(un)plugging, where interrupt migration ordering is
not guaranteed. The solution in the initial version of the fixed patch,
which stored the first CPU of the demultiplexing interrupt's effective
affinity in the `target_cpu` field, has its own drawbacks and
limitations.

Fixes: 598a91c ("BACKPORT: genirq: Add interrupt redirection infrastructure")
Reported-by: Jon Hunter <jonathanh@nvidia.com>
Closes: https://lore.kernel.org/all/44509520-f29b-4b8a-8986-5eae3e022eb7@nvidia.com/
Signed-off-by: Radu Rendec <rrendec@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://patch.msgid.link/20260112211402.2927336-1-rrendec@redhat.com
(cherry picked from commit df43971)
@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ◻️ ⚠️ skip ◻️ ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ❌ Fail ◻️ ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ❌ Fail ◻️ ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ Pass ◻️ ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ✅ Pass ◻️ ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass

@qlijarvis

Copy link
Copy Markdown

PR #1232 — validate-patch

PR: #1232

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: Yes - all 4 commits have valid lore.kernel.org links
  2. Lore link matches PR commits: Yes - all commits are faithful BACKPORT commits with cherry-pick notes referencing upstream SHAs
  3. Upstream patch status: ✅ Upstreamed - all commits have been merged upstream (evidenced by cherry-pick notes with upstream commit SHAs)
  4. PR present in qcom-next/topics: Partial - 1/4 commit(s) only have partial integration evidence
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #1232
Verdict: ⚠️ PARTIAL

This PR contains 4 BACKPORT commits from upstream. All commits have proper lore links and cherry-pick notes. However, commit 1/4 has only partial integration presence in qcom-next.


Commit 1/4: BACKPORT: genirq: Add interrupt redirection infrastructure

Upstream commit: https://patch.msgid.link/20251128212055.1409093-2-rrendec@redhat.com
Cherry-picked from: fcc1d0d

Commit Message

Check Status Note
Subject matches upstream ✅ BACKPORT prefix added correctly
Body preserves rationale ✅ Full commit message preserved
Fixes tag present/correct N/A Not a fix commit
Authorship preserved ✅ From: Radu Rendec matches upstream
Backport note ✅ Cherry-pick note present with upstream SHA
Co-developed-by usage ✅ Correctly used for Thomas Gleixner

Diff

File Status Notes
include/linux/irq.h ✅ Adds irq_pre_redirect callback
include/linux/irqdesc.h ✅ Adds irq_redirect structure
kernel/irq/chip.c ✅ Implements redirect infrastructure
kernel/irq/irqdesc.c ✅ Adds redirect handling logic
kernel/irq/manage.c ✅ Updates affinity management

Issues

  • ⚠️ Integration presence: Only partial evidence found in qcom-next - subject or partial tree evidence found, but full change was not verified

Commit 2/4: BACKPORT: PCI: dwc: Code cleanup

Upstream commit: https://patch.msgid.link/20251128212055.1409093-3-rrendec@redhat.com
Cherry-picked from: f187509

Commit Message

Check Status Note
Subject matches upstream ✅ BACKPORT prefix added correctly
Body preserves rationale ✅ Full commit message preserved with context
Fixes tag present/correct N/A Not a fix commit
Authorship preserved ✅ From: Radu Rendec matches upstream
Backport note ✅ Cherry-pick note present with upstream SHA
Co-developed-by usage ✅ Correctly used for Thomas Gleixner

Diff

File Status Notes
drivers/pci/controller/dwc/pcie-designware-host.c ✅ Code cleanup with guard() usage
drivers/pci/controller/dwc/pcie-designware.h ✅ Function signature updates

Commit 3/4: BACKPORT: PCI: dwc: Enable MSI affinity support

Upstream commit: https://patch.msgid.link/20251128212055.1409093-4-rrendec@redhat.com
Cherry-picked from: eaf290c

Commit Message

Check Status Note
Subject matches upstream ✅ BACKPORT prefix added correctly
Body preserves rationale ✅ Full commit message preserved
Fixes tag present/correct N/A Not a fix commit
Authorship preserved ✅ From: Radu Rendec matches upstream
Backport note ✅ Cherry-pick note present with upstream SHA
Co-developed-by usage ✅ Correctly used for Thomas Gleixner

Diff

File Status Notes
drivers/pci/controller/dwc/pcie-designware-host.c ✅ Enables MSI affinity via redirect infrastructure

Commit 4/4: BACKPORT: genirq: Update effective affinity for redirected interrupts

Upstream commit: https://patch.msgid.link/20260112211402.2927336-1-rrendec@redhat.com
Cherry-picked from: df43971

Commit Message

Check Status Note
Subject matches upstream ✅ BACKPORT prefix added correctly
Body preserves rationale ✅ Full commit message with detailed explanation
Fixes tag present/correct ✅ Fixes: 598a91c (references commit 1/4 in this PR)
Authorship preserved ✅ From: Radu Rendec matches upstream
Backport note ✅ Cherry-pick note present with upstream SHA
Co-developed-by usage N/A Not used in this commit

Diff

File Status Notes
kernel/irq/chip.c ✅ Adds effective affinity update

Overall Issues

  1. Commit 1/4 integration status: Only partial presence detected in qcom-next. The integration presence report indicates "subject or partial tree evidence found, but full change was not verified". This suggests the commit may be partially present or the verification couldn't confirm the complete change.

  2. Dependency chain: Commit 4/4 fixes commit 1/4 (via Fixes tag), so both must be merged together. This is correctly done in this PR.


Verdict

⚠️ PARTIAL - Merge with caution

Rationale:

  • All 4 commits are properly formatted BACKPORT commits with correct lore links and cherry-pick notes
  • Authorship is correctly preserved for all commits
  • Co-developed-by usage is correct
  • Commits 2/4, 3/4, and 4/4 are already present in qcom-next with exact patch-id matches
  • However, commit 1/4 shows only partial integration presence, which requires investigation

Recommendation:
Investigate why commit 1/4 (fcc1d0d) shows only partial presence in qcom-next. The integration report indicates subject or partial tree evidence was found but the full change wasn't verified. This could mean:

  • The commit is present but with modifications
  • Only part of the commit was integrated
  • The verification method couldn't confirm the complete change

Since commits 2-4 are already present in qcom-next and commit 4 fixes commit 1, it's likely that commit 1 is also present but the automated verification had difficulty confirming it. Manual verification of commit 1's presence in qcom-next is recommended before merging.


Final Summary

  1. Lore link present: Yes - all 4 commits have valid lore.kernel.org links
  2. Lore link matches PR commits: Yes - all commits are faithful BACKPORT commits with cherry-pick notes referencing upstream SHAs
  3. Upstream patch status: ✅ Upstreamed - all commits have been merged upstream (evidenced by cherry-pick notes with upstream commit SHAs)
  4. PR present in qcom-next/topics: Partial - 3/4 commits present with exact patch-id matches; 1/4 commit (commit 1) has only partial integration evidence per integration_presence_report.md

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: ba86f67908354f41f269ca1d64b22e4624766dcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/4 [PATCH 1/4] BACKPORT: genirq: Add interrupt redirection partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
2/4 [PATCH 2/4] BACKPORT: PCI: dwc: Code cleanup present - exact patch-id match at f187509 skipped - not checked because qcom-next already contains the change present
3/4 [PATCH 3/4] BACKPORT: PCI: dwc: Enable MSI affinity support present - exact patch-id match at eaf290c skipped - not checked because qcom-next already contains the change present
4/4 [PATCH 4/4] BACKPORT: genirq: Update effective affinity for present - exact patch-id match at df43971 skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PARTIAL
present_commits: 3/4
partial_commits: 1/4
missing_commits: 0/4
topics_checked_for_commits: 1/4
final_summary: PR present in qcom-next/topics: Partial - 1/4 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #1232 — checker-log-analyzer

PR: #1232
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/36983681480

Checker Result Summary
Checker Result Summary
checkpatch ❌ 4 commits with warnings (non-standard signatures, missing Closes:)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ✅ Passed
check-uapi-headers ✅ No UAPI changes
check-patch-compliance ❌ All 4 commits missing required prefix
tag-check ❌ All 4 commits missing required prefix (mandatory for qcom-6.18.y)

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1232 - MSI affinity support for PCI DWC
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/36983681480
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ❌ 4 commits with warnings (non-standard signatures, missing Closes:)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ✅ Passed
check-uapi-headers ✅ No UAPI changes
check-patch-compliance ❌ All 4 commits missing required prefix
tag-check ❌ All 4 commits missing required prefix (mandatory for qcom-6.18.y)

❌ checkpatch

Root cause: Non-standard signature tags and missing Closes: trailer.

Failure details:

Commit cac50e5 ("genirq: Add interrupt redirection infrastructure"):

WARNING: Non-standard signature: Originally-by:
#25: 
Originally-by: Thomas Gleixner <tglx@linutronix.de>

Commit aaa050a ("PCI: dwc: Code cleanup"):

WARNING: Non-standard signature: Originally-by:
#24: 
Originally-by: Thomas Gleixner <tglx@linutronix.de>

Commit 530601a ("PCI: dwc: Enable MSI affinity support"):

WARNING: Non-standard signature: Originally-by:
#15: 
Originally-by: Thomas Gleixner <tglx@linutronix.de>

Commit e6129d9 ("genirq: Update effective affinity for redirected interrupts"):

WARNING: Unknown commit id 'fcc1d0dabdb6', maybe rebased or not pulled?
#34: 
WARNING: Reported-by: should be immediately followed by Closes: with a URL to the report
#35: 
Reported-by: Jon Hunter <jonathanh@nvidia.com>

Fix:

  1. Originally-by: tag — This is a non-standard signature. The kernel recognizes Co-developed-by:, Suggested-by:, Reviewed-by:, etc., but not Originally-by:. For backports, use standard tags:

    • If Thomas Gleixner is the original author: ensure From: / Author: field is correct, or add Co-developed-by: Thomas Gleixner <tglx@linutronix.de> + Signed-off-by: Thomas Gleixner <tglx@linutronix.de> if he contributed substantially.
    • If this is attribution for the original upstream patch: document it in the commit body text (e.g., "Based on upstream commit XYZ by Thomas Gleixner"), not as a trailer tag.
  2. Missing Closes: after Reported-by: — When a commit includes Reported-by:, it should be immediately followed by Closes: <URL> pointing to the bug report. Add:

    Reported-by: Jon Hunter <jonathanh@nvidia.com>
    Closes: <URL-to-bug-report>
    
  3. Unknown commit id warning — The reference to fcc1d0dabdb6 cannot be resolved in the tree. Verify the commit SHA is correct or remove the reference if it's not relevant to this backport.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git b5a6060def8769d3fe1818c10062c08c80167958..2bcc1f03c2f0f35c86be7b1ed1c857ee9c0b99cc

❌ check-patch-compliance

Root cause: Commit subjects in the git tree are missing the required BACKPORT: prefix.

Failure details:

Checking commit: genirq: Add interrupt redirection infrastructure
Commit summary does not start with a required prefix

Checking commit: PCI: dwc: Code cleanup
Commit summary does not start with a required prefix

Checking commit: PCI: dwc: Enable MSI affinity support
Commit summary does not start with a required prefix

Checking commit: genirq: Update effective affinity for redirected interrupts
Commit summary does not start with a required prefix

Analysis:

The patch file (pr.patch) shows all 4 commits do have the BACKPORT: prefix:

  • Subject: [PATCH 1/4] BACKPORT: genirq: Add interrupt redirection
  • Subject: [PATCH 2/4] BACKPORT: PCI: dwc: Code cleanup
  • Subject: [PATCH 3/4] BACKPORT: PCI: dwc: Enable MSI affinity support
  • Subject: [PATCH 4/4] BACKPORT: genirq: Update effective affinity for

However, the checker is examining the actual git commit subjects after the PR is merged, and those subjects are missing the BACKPORT: prefix. This indicates a discrepancy between the patch file and the actual commits in the branch.

Fix:

Ensure the git commits themselves have the BACKPORT: prefix in their subject lines. The issue is likely that:

  1. The patch file was generated with BACKPORT: in the subject, but
  2. The actual commits in the PR branch don't have BACKPORT: in their subject lines.

To fix:

git rebase -i <base_sha>   # mark each commit as 'edit'
# For each commit:
git commit --amend -m "BACKPORT: <original subject>"
git rebase --continue

Repeat for all 4 commits to ensure each subject starts with BACKPORT:.


❌ tag-check

Root cause: Target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), so every commit must have a subject prefix. The git commits are missing the BACKPORT: prefix.

Failure details:

All 4 commits fail the tag-check because their git commit subjects don't start with a required prefix:

  • genirq: Add interrupt redirection infrastructure → missing BACKPORT:
  • PCI: dwc: Code cleanup → missing BACKPORT:
  • PCI: dwc: Enable MSI affinity support → missing BACKPORT:
  • genirq: Update effective affinity for redirected interrupts → missing BACKPORT:

Fix:

Same as check-patch-compliance — amend each commit to add BACKPORT: to the subject line:

git rebase -i <base_sha>
# mark each commit as 'edit'
git commit --amend -m "BACKPORT: genirq: Add interrupt redirection infrastructure"
git rebase --continue
# repeat for all 4 commits

Note: The target branch qcom-6.18.y is not qcom-next or qcom-next-staging, so the subject prefix requirement is mandatory for all commits.


Verdict

3 blockers must be fixed before merge:

  1. checkpatch warnings — Replace Originally-by: with standard kernel tags (or remove), add Closes: URL after Reported-by:, and verify/fix the unknown commit reference.

  2. check-patch-compliance failure — All 4 git commits must have BACKPORT: in their subject lines. The patch file shows the prefix, but the actual git commits don't — amend each commit to add the prefix.

  3. tag-check failure — Same root cause as Adding Email Checker  #2. Since the target branch is qcom-6.18.y, every commit must start with a valid prefix (BACKPORT: is correct for these commits).

Summary: The primary issue is that the git commits in the PR branch are missing the BACKPORT: prefix in their subject lines, even though the patch file shows the prefix. Additionally, the commit trailers need cleanup to use standard kernel signature tags and add the missing Closes: URL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants